package dao;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.classic.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import to.Departamento;
import to.Situacao;
import util.HibernateUtil;

public class DepartamentoDAO {

	public List<Departamento> buscaTodosDepartamento() {

		List<Departamento> listaRetorno = new ArrayList<Departamento>();
		Session session = null;

		try {
			session = HibernateUtil.getSessionFactory().openSession();
			Criteria criteria = session.createCriteria(Departamento.class, "d");
			criteria.addOrder(Order.asc("d.nome"));
			listaRetorno = (List<Departamento>) criteria.list();

		} catch (Exception e) {
			e.printStackTrace();
		}

		return listaRetorno;
	}

	public Departamento buscaDepartamentoPorCodigo(Integer d) {

		Departamento dep = new Departamento();
		Session session = null;

		try {
			session = HibernateUtil.getSessionFactory().openSession();
			Criteria criteria = session.createCriteria(Departamento.class,
					"depto");
			criteria.add(Restrictions.eq("depto.id", d));
			dep = (Departamento) criteria.uniqueResult();

		} catch (Exception e) {
			e.printStackTrace();
		}

		return dep;
	}

}
